Particular embodiments generally relate to data processing and more specifically to resource consumption template processing.
Software-as-a-service (SaaS) is software that is deployed over the Internet or in a distributed model. One reason software-as-a-service applications are offered is the flexibility in pricing. Because SaaS customers lease the applications they use from vendors as opposed to buying the applications, vendors can offer different pricing models. Some different models include flat fees, usage-based fees, feature-based fees, and offering the software for free.
The flat fee may be a monthly flat fee that is charged. The flat fee may be adjusted up and down based on the number of users.
A usage-based fee may be charged based on usage criteria. For example, the vendor could track each record that is created within a system by a customer and then bill the customer based on the total records created that month.
A feature-based fee may be an “a la carte” system of adding and removing features/modules. The vendors may assign a cost value to each feature/module and then charge the customer a total amount for the features/modules that are added by the customer.
Also, the free model may offer the software for free. However, vendors may make money through other methods, such as advertising.
Vendors offer each of the pricing models as an on-demand service. Also, each pricing model may be categorized into a different package that contains a set of functionalities, such as a certain amount of database space, memory, e-mail accounts, service level agreements, etc. Different sizes of the packages may be offered where the amount of functionalities varies among the packages. For example, bigger packages may provide access to more resources or features.
Application server engines are used to execute the applications. These application server engines are not tailored to execute the applications based on the underlying pricing model. For example, application servers allocate resources based on the task received. The pricing model is thus derived from use cases and resource usage-based charges. For example, the amount of resources consumed is used to determine the price of the service. However, the resource consumption model may not provide the best service for the customer or the most cost efficient use of resources for the vendor.